home *** CD-ROM | disk | FTP | other *** search
- (*
- ** -------------------------------------------------------------------------
- ** Program: TackOn
- ** Author: Keith R. Burby
- ** Version: 0.1
- ** Date: 19.1.94
- ** Description:
- ** AmiaDOS 2.0/3.0 replacement for the ARP Shell's "TackOn" command.
- ** Appends a filename to the end of a path.
- ** -------------------------------------------------------------------------
- *)
-
- (*
- History
-
- v0.0 (24.12.93)
- First Edition
-
- v0.1 (19.1.94)
- Now uses Dos.AddPart() function.
- *)
-
- MODULE TackOn;
-
- IMPORT
- (* NoGuru, *)
- d := Dos,
- SYS := SYSTEM;
-
- CONST
- ProgName = "TackOn\o"
- "$VER: TackOn 0.1 (19.1.94) Keith R. Burby";
- MinDosLib = 36; (* Lowest version of dos.library this program can use *)
- Template = "PATH/A,FILE/A";
-
- TYPE
- LongString = ARRAY 512 OF CHAR;
- ArgStruct = STRUCT (dummy: d.ArgsStruct)
- Path, File: d.ArgString;
- END;
-
- VAR
- ErrVal: LONGINT;
-
-
- PROCEDURE GetFullname(): LONGINT;
-
- VAR
- LastChar: CHAR;
- Fullname: LongString;
- MyArgs: ArgStruct;
- MyRDArgs: d.RDArgsPtr;
-
- BEGIN
- MyRDArgs := d.ReadArgs(Template, MyArgs, NIL);
- IF (MyRDArgs # NIL) THEN
- COPY(MyArgs.Path^, Fullname);
- IF d.AddPart(Fullname, MyArgs.File^, SIZE(Fullname)) THEN
- d.PrintF("%s\n", SYS.ADR(Fullname));
- END;
- d.FreeArgs(MyRDArgs);
- END;
- RETURN(d.IoErr());
- END GetFullname;
-
-
- BEGIN
- IF (d.dos.lib.version >= MinDosLib) THEN
- ErrVal := GetFullname();
- IF (ErrVal # 0) THEN
- IF (d.PrintFault(ErrVal, ProgName)) THEN
- HALT(10);
- ELSE
- HALT(20);
- END;
- END;
- ELSE
- HALT(MinDosLib);
- END;
- END TackOn.
-